﻿@using System.Text
@using WaterRegimenMonitor.Common
@using WaterRegimenMonitor.Web.Domain
@using WaterRegimenMonitor.Web.DataModel
@model  WaterRegimenMonitor.Web.Models.Common.MenuViewModel
@{
    //获得所有的菜单列表
    List<MenuInfo> menus = Helper.CurrentPrincipal.MeanList;

    //用于保存菜单模型信息
    List<string> menuModels = new List<string>();

    //用于保存菜单的脚本
    StringBuilder builder = new StringBuilder();

    //用于记录是否为第一行
    bool isFirstRow = true;

    //记录菜单的分类
    Guid categoryID = Guid.Empty;

    //判断是否有菜单
    if (menus != null && menus.Count > 0)
    {
        //记录分类
        categoryID = menus[0].Category.CategoryID;

        //循环添加
        foreach (MenuInfo menu in menus)
        {
            //判断是否为第一行
            if (isFirstRow)
            {
                //添加开始标记
                builder.Append("<ul class='Menu'>");
            }

            //添加菜单
            builder.AppendFormat("<li><a href='{0}'>{1}</a></li>", menu.Menu.SourceUrl, menu.Menu.MenuName);

            //判断是否为最后一行
            if (categoryID != menu.Category.CategoryID)
            {
                //添加结束标记
                builder.Append("</ul>");

                //添加到列表
                menuModels.Add(string.Format(@"{{ Title: '{0}', Html: '{1}' }}", menu.Category.CategoryName, builder.ToString()));

                //清除内容
                builder.Clear();
            }
        }

        //添加结束标记
        builder.Append("</ul>");

        //添加到列表
        menuModels.Add(string.Format(@"{{ Title: '{0}', Html: '{1}' }}", menus[menus.Count - 1].Category.CategoryName, builder.ToString()));

        //清除内容
        builder.Clear();
    }  
}
@section HeadScriptLink
{
    <script src="@Url.Content("~/Scripts/Business/Shared/Menu.js")" type="text/javascript"></script>
    <script type="text/javascript" language="javascript">

        //生成菜单模型
        var model_menus =
        [
            @Html.Raw(System.String.Join(",", menuModels))
        ];

    </script>
}
